home *** CD-ROM | disk | FTP | other *** search
/ Risc World 3 / Risc World 3.iso / SOFTWARE / ISSUE6 / PD / PDF / GuiLib / Util / h / gfx < prev    next >
Text File  |  2003-02-14  |  3KB  |  74 lines

  1. //--------------------------------------------------------------------------
  2. //
  3. //   Copyright (c) 2002, Colin Granville
  4. //
  5. //   All rights reserved.
  6. //
  7. //   Redistribution and use in source and binary forms, with or
  8. //   without modification, are permitted provided that the following 
  9. //   conditions are met:
  10. //
  11. //      * Redistributions of source code must retain the above copyright 
  12. //        notice, this list of conditions and the following disclaimer.
  13. //
  14. //      * Redistributions in binary form must reproduce the above 
  15. //        copyright notice, this list of conditions and the following 
  16. //        disclaimer in the documentation and/or other materials 
  17. //        provided with the distribution.
  18. //
  19. //      * The name Colin Granville may not be used to endorse or promote 
  20. //        products derived from this software without specific prior 
  21. //        written permission.
  22. //
  23. //   THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 
  24. //   "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 
  25. //   LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS 
  26. //   FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE 
  27. //   COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, 
  28. //   INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES 
  29. //   (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR 
  30. //   SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 
  31. //   HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, 
  32. //   STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 
  33. //   ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED 
  34. //   OF THE POSSIBILITY OF SUCH DAMAGE.
  35. //
  36. //--------------------------------------------------------------------------
  37.  
  38. #ifndef GUILIB_GFX_H
  39. #define GUILIB_GFX_H
  40.  
  41. #include "swis.h"
  42. class gfx
  43. {
  44.   public:
  45.     enum
  46.     {
  47.       SolidBoth       = 0x00,
  48.       RectangleFill   = 0x60
  49.     };
  50.  
  51.     enum
  52.     { 
  53.        DrawRelFore     = 1,
  54.        MoveCursorAbs   = 4,
  55.        DrawAbsInverse  = 6
  56.     };
  57.  
  58.     static void vdu(int c)                    {_kernel_oswrch(c);}
  59.     static void plot(int n,int x,int y)       {_swix(OS_Plot,_INR(0,2),n,x,y);}
  60.     static void move(int x,int y)             {plot(MoveCursorAbs,x,y);}
  61.     static void drawby(int x,int y)           {plot(SolidBoth | DrawRelFore,x,y);}
  62.     static void rectanglefill(int x,int y,int wid,int ht);
  63.     static void gcol_bgr(int op,unsigned int BBGGRROO);
  64.     static int  modevar(int mode, int varno);
  65.     static int  screenwidth(int mode=-1)     {return ((modevar(mode,11)+1)<<modevar(mode,4));};
  66.     static int  screenheight(int mode=-1)    {return ((modevar(mode,12)+1)<<modevar(mode,5));};
  67.     static int  inkey(int code) {
  68.                                 code=_kernel_osbyte(129,code & 0xff,(code>>8) & 0xff);
  69.                                 return (code<<16)>>16;
  70.                                 }
  71. };
  72.  
  73. #endif
  74.